Динамическое меню#
Система позволяет без участия разработчика осуществлять настройки общей иерархии меню и общего перечня вызовов меню (транзакций). Настройка осуществляется из приложения «Настройка системы», меню Настройки и сервисы\Настройки динамического меню. Указанный пункт меню содержит два подпунта: Справочник вызовов и Настройка иерархии меню.
Справочник вызовов#
Справочник вызовов меню позволяет настраивать вызовы меню (транзакции), которые при необходимости можно будет использовать в нескольких различных ветках иерархии динамического меню.

Рисунок 3 Карточка вызова меню
Справочник содержит следующие поля:
Таблица 5 Справочник вызовов
Наименование |
Описание |
Способ ввода |
|---|---|---|
Кодовое имя |
Кодовое имя вызова. Позволяет осуществлять поиск и запуск вызова по коду. Обязательное |
Текст. Ручной ввод |
Наименование |
Наименование вызова. Обязательное |
Текст. Ручной ввод |
Модуль |
Модуль, к которому относится вызов. При переносе конфигурации вызовы, модуль которых отсутствует на целевой базе, не будут устанавливаться |
Выбор из списка модулей |
Тип вызова |
Определяет вариант обработки вызова. Может принимать следующие значения: - Открытие списка объектов; - Создание объекта; - Jexl-скрипт |
Выбор из выпадающего списка типов вызова |
Имя выборки и отображения |
Обязательное в случае, если Тип вызова = Открытие списка объектов. Выполнение вызова в этом случае открывает указанную выборку и отображение. Поле отображается в характеристиках при выборе соответствующего типа вызова. В остальных случаях не заполняется. |
Текст. Ручной ввод |
Имя класса |
Обязательное в случае, если Тип вызова = Создание объекта. Выполнение вызова в этом случае создает объект указанного класса и открывает карточку созданного объекта. Поле отображается в характеристиках при выборе соответствующего типа вызова. В остальных случаях не заполняется. |
Текст. Ручной ввод |
Jexl-скрипт |
Обязательное в случае, если Тип вызова = Jexl-скрипт. Выполнение вызова в этом случае выполняет заданный скрипт. Поле отображается в характеристиках при выборе соответствующего типа вызова. В остальных случаях не заполняется. |
Текст. Ручной ввод |
На панели инструментов в карточке вызова содержится операция «Сменить тип вызова на Jexl-скрипт». Операция изменяет типа вызова на Jexl-скрипт и формирует текст скрипта в зависимости от предыдущих настроек: для типа «Открытие списка объектов» формируется скрипт для открытия указанной выборки и отображения, для типа «Создание объекта» формируется скрипт по созданию объекта указанного класса. Операция используется в том случае, если просто открыть указанную выборку или создать объект указанного класса недостаточно. Сформированный текст скрипта можно доработать для расширения исполняемый операций вызова.
Настройка иерархии меню#

Рисунок 4 Настройка иерархии меню
Настройка иерархии меню содержит следующие поля:
Таблица 6 Настройка иерархии меню
Наименование |
Описание |
Способ ввода |
|---|---|---|
Системное имя |
Системное имя пункта иерархии. Используется для переноса конфигурации меню между базами. |
Текст. Заполняется автоматически при создании |
Наименование |
Наименование пункта иерархии. |
Текст. Ручной ввод |
Модуль |
Модуль, к которому относится пункт иерархии. |
Выбор из списка модулей |
Порядковый номер |
Порядковый номер пункта иерархии меню. Определяет порядок отображения пунктов иерархии. |
Число. Ручной ввод. |
Код вызова |
Код вызова меню из справочника вызовов |
Не редактируется. Отображается для пунктов иерархии, соответствующих вызовам |
На закладке «Настройка прав доступа» отображаются роли, наличие которых у пользователя будет давать доступ к выбранному пункту меню. Для предоставления доступа к пункту меню на закладке имеется возможность добавить новую запись и указать роль. При этом роль будет автоматически добавлена для всех вышестоящих пунктов иерархии и для всех потомков выбранного пункта меню.
Для добавления новых пунктов в иерархию меню необходимо выделить пункт, в котором требует добавить новый подпункт или вызов, и воспользоваться одной из операций под кнопкой создания новой записи: • Создать пункт меню на уровень ниже. Создает новый пункт меню на уровень ниже выбранного. • Создать вызов на уровень ниже. Открывает для выбора справочник вызовов меню и добавляет выбранный вызов на уровень ниже выбранного пункта меню.